package com.ll.wrapperdemo;

/**
 * @author 刘龙
 * @version 1.0
 */
public class WrapperDemo01 {
    public static void main(String[] args) {
        // 演示 int <==> Integer 的装箱和拆箱
        // jdk5之前是手动装箱和拆箱
        // 基本数据类型
        int n1 = 100;
        // 手动装箱1
        Integer integer = new Integer(n1);
        // 手动装箱 2
        Integer integer1 = Integer.valueOf(n1);

        // 手动拆箱1
        int i = integer.intValue();

        //jdk5后,可以自动装箱和拆箱
        int n2 = 200;
        // 自动装箱
        Integer integer2 = n2;
        // 自动拆箱
        int n3 = integer2;

        Double d = 100d;
        Float f = 100f;

        // 三元运算符看做一个整体, 因为有double值参与运算,1自动提升为1.0
        Object obj = true ? new Integer(1) : new Double(2.0);
        // 1.0
        System.out.println(obj);

        Object obj3 = true ? Integer.valueOf(1) : Double.valueOf(2);
        // 1.0
        System.out.println(obj3);

        Object obj2;
        if (true) {
            obj2 = new Integer(1);
        } else {
            obj2 = new Double(2.0);
        }
        // 1
        System.out.println(obj2);


    }
}
